#include <cassert>
#include <istream>
#include <deque>
#include "Scanner.h"

/* INCLUDES SOURCE FILE - INCLUDE ONLY HERE */
#include "MosLexer.inc"

using namespace moses;

std::istream *pInputFile;
std::deque<std::string> strQueue;
std::deque<std::string> strStack;

Scanner::Scanner(std::istream &stream)
{
	pInputFile = &stream;
}

Scanner::~Scanner()
{
	yylex_destroy();
	pInputFile = 0;
}

int Scanner::GetNextToken()
{
	return yylex();
}

// Depress annoying warnings
static void do_not_call() {
	assert(false);
	do_not_call();
	yyunput(0,  0);
}
